cajas=[(19,15),(7,13),(5,7),(6,8),(1,2)]

def MaxStack(hasta,soporta):
	if hasta==0: return 0
	else: return max(MaxStack(hasta-1,soporta), cajas[hasta-1][1]>=soporta and MaxStack(hasta-1,soporta+cajas[hasta-1][0])+1 or 0)

print MaxStack(len(cajas),0)
